package com.gtw.command;

/**
 * 指定需要执行的命令,具体的命令需要指定执行者
 * 调用者接受命令,决定命令开始执行
 * 优点:
 *      1.类间解耦:调用者只需要调用command.execute()让命令去执行,不需要了解到底哪个接受者执行
 *      2.可扩展性:Command子类非常容易扩展,调用者Invoker和高层不产生严重耦合
 *      3.可以结合其他模式:结合责任链模式,实现命令族解析任务;结合模板方法模式,可以减少Command子类;结合备忘录模式还原最后状态
 * 缺点:
 *      命令越多,Command的子类越多
 *
 */
/**
 * 需要执行的命令都在这里声明
 */
public abstract class Command {

    //必须有一个需要执行命令的方法
    public abstract void execute();
}
